package com.quiputechnology.nexwm.service.impl;

import java.util.List;

import org.apache.log4j.Logger;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;

import com.quiputechnology.nexwm.dao.UsuarioDao;
import com.quiputechnology.nexwm.model.Usuario;
import com.quiputechnology.nexwm.service.UsuarioManager;

@Service
@Transactional
public class UsuarioManagerImpl implements UsuarioManager {
	private Logger logger = Logger.getLogger(UsuarioManagerImpl.class);

	@Autowired
	private UsuarioDao usuarioDao;

	@Override
	@Transactional(readOnly = true)
	public Usuario getUsuarioPorUsername(String username) {
		Usuario usuario = usuarioDao.getUsuarioPorUsername(username);
		return usuario;
	}

	@Override
	public List<Usuario> getUsuarios() {
		return usuarioDao.getUsuarios();
	}

	@Override
	public void registrar(Usuario usuario) {
		usuarioDao.registrar(usuario);
	}

	@Override
	public void modificar(Usuario usuario) {
		usuarioDao.modificar(usuario);
	}

	@Override
	public void eliminar(Usuario usuario) {
		usuarioDao.eliminar(usuario);
	}

	@Override
	public List<Usuario> getUsuariosPorNombre(String filtro) {
		return usuarioDao.getUsuariosPorNombre(filtro);
	}

	@Override
	public List<Usuario> getUsuarioPorFiltro(Usuario filtro) {
		return usuarioDao.getUsuarioPorFiltro(filtro);
	}
}
